Many computing devices employ input devices that produce output streams for consumption by applications operating on the computing device. These input devices can include sensor devices (e.g., cameras, biometric devices, etc.) that obtain and output data in streams including a plurality of data frames, where the data frames are output at a specific rate (e.g., a number of frames per second). A given input device is typically associated with a component at the operating system of the computing device, such as a driver, a driver extension, etc., that provides an interface to the input device allowing applications executing via the operating system to access and utilize the output stream for a given input device, to control the input device, etc. Currently, the components (e.g., drivers, driver extensions, etc.) request memory allocation from the operating system (e.g., kernel) for storing data received from the input device. Requests may or may not be granted based on available system resources. In addition, the components are thus responsible for managing memory contents, requesting deallocation of the memory, etc. As more input devices or corresponding components request buffers for outputting data on a computing device, this memory model may become inefficient in requesting multiple allocations, may not adequately allow for sharing memory and/or corresponding data across components, etc.